package demo11;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Huangjin
 * @version 1.0
 * describe:
 * @date 2023/3/3 19:58
 */
public class SubListDemo {
    public static void main(String[] args) {
         /*
            List
            提供了获取子集的操作：
                List subLIst(int start,int end):含头不含尾
         */
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i * 10);
        }
        System.out.println("list" + list);

        List<Integer> subList = list.subList(3, 8);
        System.out.println("subList" + subList);

        //将子集的每个元素都扩大10倍
        for (int i = 0; i < subList.size(); i++) {
            subList.set(i, subList.get(i) * 10);
        }
        System.out.println("subList:" + subList);
        //注意：对子集的操作就是对原集对应的元素操作
        System.out.println("list" + list);

        //将原集合下标为3的元素修改为1000
        list.set(3, 1000);
        System.out.println("list:" + list);

        list.remove(0);
        System.out.println("list:" + list);
        //元集合长度修改之后，子集将不能在进行任何操作，操作则会发生异常，但是可以重新获得子集
        //运行时发生不支持修改异常
        System.out.println("subList:" + subList);
    }
}
